1 /* 2 * This file is part of gtkD. 3 * 4 * gtkD is free software; you can redistribute it and/or modify 5 * it under the terms of the GNU Lesser General Public License 6 * as published by the Free Software Foundation; either version 3 7 * of the License, or (at your option) any later version, with 8 * some exceptions, please read the COPYING file. 9 * 10 * gtkD is distributed in the hope that it will be useful, 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 * GNU Lesser General Public License for more details. 14 * 15 * You should have received a copy of the GNU Lesser General Public License 16 * along with gtkD; if not, write to the Free Software 17 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA 18 */ 19 20 // generated automatically - do not change 21 // find conversion definition on APILookup.txt 22 // implement new conversion functionalities on the wrap.utils pakage 23 24 25 module adw.c.types; 26 27 public import gdk.c.types; 28 public import gio.c.types; 29 public import glib.c.types; 30 public import gobject.c.types; 31 public import gtk.c.types; 32 33 34 /** 35 * Describes the possible states of an [class@Animation]. 36 * 37 * The state can be controlled with [method@Animation.play], 38 * [method@Animation.pause], [method@Animation.resume], 39 * [method@Animation.reset] and [method@Animation.skip]. 40 * 41 * Since: 1.0 42 */ 43 public enum AdwAnimationState 44 { 45 /** 46 * The animation hasn't started yet. 47 */ 48 IDLE = 0, 49 /** 50 * The animation has been paused. 51 */ 52 PAUSED = 1, 53 /** 54 * The animation is currently playing. 55 */ 56 PLAYING = 2, 57 /** 58 * The animation has finished. 59 */ 60 FINISHED = 3, 61 } 62 alias AdwAnimationState AnimationState; 63 64 /** 65 * Describes title centering behavior of a [class@HeaderBar] widget. 66 * 67 * Since: 1.0 68 */ 69 public enum AdwCenteringPolicy 70 { 71 /** 72 * Keep the title centered when possible 73 */ 74 LOOSE = 0, 75 /** 76 * Keep the title centered at all cost 77 */ 78 STRICT = 1, 79 } 80 alias AdwCenteringPolicy CenteringPolicy; 81 82 /** 83 * Application color schemes for [property@StyleManager:color-scheme]. 84 * 85 * Since: 1.0 86 */ 87 public enum AdwColorScheme 88 { 89 /** 90 * Inherit the parent color-scheme. When set on the 91 * `AdwStyleManager` returned by [func@StyleManager.get_default], it's 92 * equivalent to `ADW_COLOR_SCHEME_PREFER_LIGHT`. 93 */ 94 DEFAULT = 0, 95 /** 96 * Always use light appearance. 97 */ 98 FORCE_LIGHT = 1, 99 /** 100 * Use light appearance unless the system 101 * prefers dark colors. 102 */ 103 PREFER_LIGHT = 2, 104 /** 105 * Use dark appearance unless the system prefers 106 * prefers light colors. 107 */ 108 PREFER_DARK = 3, 109 /** 110 * Always use dark appearance. 111 */ 112 FORCE_DARK = 4, 113 } 114 alias AdwColorScheme ColorScheme; 115 116 /** 117 * Describes the available easing functions for use with 118 * [class@TimedAnimation]. 119 * 120 * New values may be added to this enumeration over time. 121 * 122 * Since: 1.0 123 */ 124 public enum AdwEasing 125 { 126 /** 127 * Linear tweening. 128 */ 129 LINEAR = 0, 130 /** 131 * Quadratic tweening. 132 */ 133 EASE_IN_QUAD = 1, 134 /** 135 * Quadratic tweening, inverse of `ADW_EASE_IN_QUAD`. 136 */ 137 EASE_OUT_QUAD = 2, 138 /** 139 * Quadratic tweening, combining `ADW_EASE_IN_QUAD` and 140 * `ADW_EASE_OUT_QUAD`. 141 */ 142 EASE_IN_OUT_QUAD = 3, 143 /** 144 * Cubic tweening. 145 */ 146 EASE_IN_CUBIC = 4, 147 /** 148 * Cubic tweening, inverse of `ADW_EASE_IN_CUBIC`. 149 */ 150 EASE_OUT_CUBIC = 5, 151 /** 152 * Cubic tweening, combining `ADW_EASE_IN_CUBIC` and 153 * `ADW_EASE_OUT_CUBIC`. 154 */ 155 EASE_IN_OUT_CUBIC = 6, 156 /** 157 * Quartic tweening. 158 */ 159 EASE_IN_QUART = 7, 160 /** 161 * Quartic tweening, inverse of `ADW_EASE_IN_QUART`. 162 */ 163 EASE_OUT_QUART = 8, 164 /** 165 * Quartic tweening, combining `ADW_EASE_IN_QUART` and 166 * `ADW_EASE_OUT_QUART`. 167 */ 168 EASE_IN_OUT_QUART = 9, 169 /** 170 * Quintic tweening. 171 */ 172 EASE_IN_QUINT = 10, 173 /** 174 * Quintic tweening, inverse of `ADW_EASE_IN_QUINT`. 175 */ 176 EASE_OUT_QUINT = 11, 177 /** 178 * Quintic tweening, combining `ADW_EASE_IN_QUINT` and 179 * `ADW_EASE_OUT_QUINT`. 180 */ 181 EASE_IN_OUT_QUINT = 12, 182 /** 183 * Sine wave tweening. 184 */ 185 EASE_IN_SINE = 13, 186 /** 187 * Sine wave tweening, inverse of `ADW_EASE_IN_SINE`. 188 */ 189 EASE_OUT_SINE = 14, 190 /** 191 * Sine wave tweening, combining `ADW_EASE_IN_SINE` and 192 * `ADW_EASE_OUT_SINE`. 193 */ 194 EASE_IN_OUT_SINE = 15, 195 /** 196 * Exponential tweening. 197 */ 198 EASE_IN_EXPO = 16, 199 /** 200 * Exponential tweening, inverse of `ADW_EASE_IN_EXPO`. 201 */ 202 EASE_OUT_EXPO = 17, 203 /** 204 * Exponential tweening, combining `ADW_EASE_IN_EXPO` and 205 * `ADW_EASE_OUT_EXPO`. 206 */ 207 EASE_IN_OUT_EXPO = 18, 208 /** 209 * Circular tweening. 210 */ 211 EASE_IN_CIRC = 19, 212 /** 213 * Circular tweening, inverse of `ADW_EASE_IN_CIRC`. 214 */ 215 EASE_OUT_CIRC = 20, 216 /** 217 * Circular tweening, combining `ADW_EASE_IN_CIRC` and 218 * `ADW_EASE_OUT_CIRC`. 219 */ 220 EASE_IN_OUT_CIRC = 21, 221 /** 222 * Elastic tweening, with offshoot on start. 223 */ 224 EASE_IN_ELASTIC = 22, 225 /** 226 * Elastic tweening, with offshoot on end, inverse of 227 * `ADW_EASE_IN_ELASTIC`. 228 */ 229 EASE_OUT_ELASTIC = 23, 230 /** 231 * Elastic tweening, with offshoot on both ends, 232 * combining `ADW_EASE_IN_ELASTIC` and `ADW_EASE_OUT_ELASTIC`. 233 */ 234 EASE_IN_OUT_ELASTIC = 24, 235 /** 236 * Overshooting cubic tweening, with backtracking on start. 237 */ 238 EASE_IN_BACK = 25, 239 /** 240 * Overshooting cubic tweening, with backtracking on end, 241 * inverse of `ADW_EASE_IN_BACK`. 242 */ 243 EASE_OUT_BACK = 26, 244 /** 245 * Overshooting cubic tweening, with backtracking on both 246 * ends, combining `ADW_EASE_IN_BACK` and `ADW_EASE_OUT_BACK`. 247 */ 248 EASE_IN_OUT_BACK = 27, 249 /** 250 * Exponentially decaying parabolic (bounce) tweening, 251 * on start. 252 */ 253 EASE_IN_BOUNCE = 28, 254 /** 255 * Exponentially decaying parabolic (bounce) tweening, 256 * with bounce on end, inverse of `ADW_EASE_IN_BOUNCE`. 257 */ 258 EASE_OUT_BOUNCE = 29, 259 /** 260 * Exponentially decaying parabolic (bounce) tweening, 261 * with bounce on both ends, combining `ADW_EASE_IN_BOUNCE` and 262 * `ADW_EASE_OUT_BOUNCE`. 263 */ 264 EASE_IN_OUT_BOUNCE = 30, 265 } 266 alias AdwEasing Easing; 267 268 /** 269 * Describes the possible folding behavior of a [class@Flap] widget. 270 * 271 * Since: 1.0 272 */ 273 public enum AdwFlapFoldPolicy 274 { 275 /** 276 * Disable folding, the flap cannot reach narrow 277 * sizes. 278 */ 279 NEVER = 0, 280 /** 281 * Keep the flap always folded. 282 */ 283 ALWAYS = 1, 284 /** 285 * Fold and unfold the flap based on available 286 * space. 287 */ 288 AUTO = 2, 289 } 290 alias AdwFlapFoldPolicy FlapFoldPolicy; 291 292 /** 293 * Describes transitions types of a [class@Flap] widget. 294 * 295 * It determines the type of animation when transitioning between children in a 296 * [class@Flap] widget, as well as which areas can be swiped via 297 * [property@Flap:swipe-to-open] and [property@Flap:swipe-to-close]. 298 * 299 * New values may be added to this enum over time. 300 * 301 * Since: 1.0 302 */ 303 public enum AdwFlapTransitionType 304 { 305 /** 306 * The flap slides over the content, which is 307 * dimmed. When folded, only the flap can be swiped. 308 */ 309 OVER = 0, 310 /** 311 * The content slides over the flap. Only the 312 * content can be swiped. 313 */ 314 UNDER = 1, 315 /** 316 * The flap slides offscreen when hidden, 317 * neither the flap nor content overlap each other. Both widgets can be 318 * swiped. 319 */ 320 SLIDE = 2, 321 } 322 alias AdwFlapTransitionType FlapTransitionType; 323 324 /** 325 * Determines when [class@Flap] and [class@Leaflet] will fold. 326 * 327 * Since: 1.0 328 */ 329 public enum AdwFoldThresholdPolicy 330 { 331 /** 332 * Folding is based on the minimum size 333 */ 334 MINIMUM = 0, 335 /** 336 * Folding is based on the natural size 337 */ 338 NATURAL = 1, 339 } 340 alias AdwFoldThresholdPolicy FoldThresholdPolicy; 341 342 /** 343 * Describes the possible transitions in a [class@Leaflet] widget. 344 * 345 * New values may be added to this enumeration over time. 346 * 347 * Since: 1.0 348 */ 349 public enum AdwLeafletTransitionType 350 { 351 /** 352 * Cover the old page or uncover the new page, sliding from or towards the end according to orientation, text direction and children order 353 */ 354 OVER = 0, 355 /** 356 * Uncover the new page or cover the old page, sliding from or towards the start according to orientation, text direction and children order 357 */ 358 UNDER = 1, 359 /** 360 * Slide from left, right, up or down according to the orientation, text direction and the children order 361 */ 362 SLIDE = 2, 363 } 364 alias AdwLeafletTransitionType LeafletTransitionType; 365 366 /** 367 * Describes the direction of a swipe navigation gesture. 368 * 369 * Since: 1.0 370 */ 371 public enum AdwNavigationDirection 372 { 373 /** 374 * Corresponds to start or top, depending on orientation and text direction 375 */ 376 BACK = 0, 377 /** 378 * Corresponds to end or bottom, depending on orientation and text direction 379 */ 380 FORWARD = 1, 381 } 382 alias AdwNavigationDirection NavigationDirection; 383 384 /** 385 * Describes the possible transitions in a [class@Squeezer] widget. 386 * 387 * Since: 1.0 388 */ 389 public enum AdwSqueezerTransitionType 390 { 391 /** 392 * No transition 393 */ 394 NONE = 0, 395 /** 396 * A cross-fade 397 */ 398 CROSSFADE = 1, 399 } 400 alias AdwSqueezerTransitionType SqueezerTransitionType; 401 402 /** 403 * [class@Toast] behavior when another toast is already displayed. 404 * 405 * Since: 1.0 406 */ 407 public enum AdwToastPriority 408 { 409 /** 410 * the toast will be queued if another toast is 411 * already displayed. 412 */ 413 NORMAL = 0, 414 /** 415 * the toast will be displayed immediately, pushing 416 * the previous toast into the queue instead. 417 */ 418 HIGH = 1, 419 } 420 alias AdwToastPriority ToastPriority; 421 422 /** 423 * Describes the adaptive modes of [class@ViewSwitcher]. 424 */ 425 public enum AdwViewSwitcherPolicy 426 { 427 /** 428 * Force the narrow mode 429 */ 430 NARROW = 0, 431 /** 432 * Force the wide mode 433 */ 434 WIDE = 1, 435 } 436 alias AdwViewSwitcherPolicy ViewSwitcherPolicy; 437 438 struct AdwActionRow 439 { 440 AdwPreferencesRow parentInstance; 441 } 442 443 struct AdwActionRowClass 444 { 445 /** 446 * The parent class 447 */ 448 AdwPreferencesRowClass parentClass; 449 /** */ 450 extern(C) void function(AdwActionRow* self) activate; 451 void*[4] padding; 452 } 453 454 struct AdwAnimation 455 { 456 GObject parentInstance; 457 } 458 459 struct AdwAnimationClass; 460 461 struct AdwAnimationTarget; 462 463 struct AdwAnimationTargetClass; 464 465 struct AdwApplication 466 { 467 GtkApplication parentInstance; 468 } 469 470 struct AdwApplicationClass 471 { 472 /** 473 * The parent class 474 */ 475 GtkApplicationClass parentClass; 476 void*[4] padding; 477 } 478 479 struct AdwApplicationWindow 480 { 481 GtkApplicationWindow parentInstance; 482 } 483 484 struct AdwApplicationWindowClass 485 { 486 GtkApplicationWindowClass parentClass; 487 void*[4] padding; 488 } 489 490 struct AdwAvatar; 491 492 struct AdwAvatarClass 493 { 494 GtkWidgetClass parentClass; 495 } 496 497 struct AdwBin 498 { 499 GtkWidget parentInstance; 500 } 501 502 struct AdwBinClass 503 { 504 GtkWidgetClass parentClass; 505 } 506 507 struct AdwButtonContent; 508 509 struct AdwButtonContentClass 510 { 511 GtkWidgetClass parentClass; 512 } 513 514 struct AdwCallbackAnimationTarget; 515 516 struct AdwCallbackAnimationTargetClass; 517 518 struct AdwCarousel; 519 520 struct AdwCarouselClass 521 { 522 GtkWidgetClass parentClass; 523 } 524 525 struct AdwCarouselIndicatorDots; 526 527 struct AdwCarouselIndicatorDotsClass 528 { 529 GtkWidgetClass parentClass; 530 } 531 532 struct AdwCarouselIndicatorLines; 533 534 struct AdwCarouselIndicatorLinesClass 535 { 536 GtkWidgetClass parentClass; 537 } 538 539 struct AdwClamp; 540 541 struct AdwClampClass 542 { 543 GtkWidgetClass parentClass; 544 } 545 546 struct AdwClampLayout; 547 548 struct AdwClampLayoutClass 549 { 550 GtkLayoutManagerClass parentClass; 551 } 552 553 struct AdwClampScrollable; 554 555 struct AdwClampScrollableClass 556 { 557 GtkWidgetClass parentClass; 558 } 559 560 struct AdwComboRow 561 { 562 AdwActionRow parentInstance; 563 } 564 565 struct AdwComboRowClass 566 { 567 /** 568 * The parent class 569 */ 570 AdwActionRowClass parentClass; 571 void*[4] padding; 572 } 573 574 struct AdwEnumListItem; 575 576 struct AdwEnumListItemClass 577 { 578 GObjectClass parentClass; 579 } 580 581 struct AdwEnumListModel; 582 583 struct AdwEnumListModelClass 584 { 585 GObjectClass parentClass; 586 } 587 588 struct AdwExpanderRow 589 { 590 AdwPreferencesRow parentInstance; 591 } 592 593 struct AdwExpanderRowClass 594 { 595 /** 596 * The parent class 597 */ 598 AdwPreferencesRowClass parentClass; 599 void*[4] padding; 600 } 601 602 struct AdwFlap; 603 604 struct AdwFlapClass 605 { 606 GtkWidgetClass parentClass; 607 } 608 609 struct AdwHeaderBar; 610 611 struct AdwHeaderBarClass 612 { 613 GtkWidgetClass parentClass; 614 } 615 616 struct AdwLeaflet; 617 618 struct AdwLeafletClass 619 { 620 GtkWidgetClass parentClass; 621 } 622 623 struct AdwLeafletPage; 624 625 struct AdwLeafletPageClass 626 { 627 GObjectClass parentClass; 628 } 629 630 struct AdwPreferencesGroup 631 { 632 GtkWidget parentInstance; 633 } 634 635 struct AdwPreferencesGroupClass 636 { 637 /** 638 * The parent class 639 */ 640 GtkWidgetClass parentClass; 641 void*[4] padding; 642 } 643 644 struct AdwPreferencesPage 645 { 646 GtkWidget parentInstance; 647 } 648 649 struct AdwPreferencesPageClass 650 { 651 /** 652 * The parent class 653 */ 654 GtkWidgetClass parentClass; 655 void*[4] padding; 656 } 657 658 struct AdwPreferencesRow 659 { 660 GtkListBoxRow parentInstance; 661 } 662 663 struct AdwPreferencesRowClass 664 { 665 /** 666 * The parent class 667 */ 668 GtkListBoxRowClass parentClass; 669 void*[4] padding; 670 } 671 672 struct AdwPreferencesWindow 673 { 674 AdwWindow parentInstance; 675 } 676 677 struct AdwPreferencesWindowClass 678 { 679 /** 680 * The parent class 681 */ 682 AdwWindowClass parentClass; 683 void*[4] padding; 684 } 685 686 struct AdwSplitButton; 687 688 struct AdwSplitButtonClass 689 { 690 GtkWidgetClass parentClass; 691 } 692 693 struct AdwSpringAnimation; 694 695 struct AdwSpringAnimationClass; 696 697 struct AdwSpringParams; 698 699 struct AdwSqueezer; 700 701 struct AdwSqueezerClass 702 { 703 GtkWidgetClass parentClass; 704 } 705 706 struct AdwSqueezerPage; 707 708 struct AdwSqueezerPageClass 709 { 710 GObjectClass parentClass; 711 } 712 713 struct AdwStatusPage; 714 715 struct AdwStatusPageClass 716 { 717 GtkWidgetClass parentClass; 718 } 719 720 struct AdwStyleManager; 721 722 struct AdwStyleManagerClass 723 { 724 GObjectClass parentClass; 725 } 726 727 struct AdwSwipeTracker; 728 729 struct AdwSwipeTrackerClass 730 { 731 GObjectClass parentClass; 732 } 733 734 struct AdwSwipeable; 735 736 /** 737 * An interface for swipeable widgets. 738 * 739 * Since: 1.0 740 */ 741 struct AdwSwipeableInterface 742 { 743 /** 744 * The parent interface. 745 */ 746 GTypeInterface parent; 747 /** 748 * 749 * Params: 750 * self = a swipeable 751 * Returns: the swipe distance in pixels 752 */ 753 extern(C) double function(AdwSwipeable* self) getDistance; 754 /** 755 * 756 * Params: 757 * self = a swipeable 758 * Returns: the snap points 759 */ 760 extern(C) double* function(AdwSwipeable* self, int* nSnapPoints) getSnapPoints; 761 /** 762 * 763 * Params: 764 * self = a swipeable 765 * Returns: the current progress, unitless 766 */ 767 extern(C) double function(AdwSwipeable* self) getProgress; 768 /** 769 * 770 * Params: 771 * self = a swipeable 772 * Returns: the cancel progress, unitless 773 */ 774 extern(C) double function(AdwSwipeable* self) getCancelProgress; 775 /** */ 776 extern(C) void function(AdwSwipeable* self, AdwNavigationDirection navigationDirection, int isDrag, GdkRectangle* rect) getSwipeArea; 777 void*[4] padding; 778 } 779 780 struct AdwTabBar; 781 782 struct AdwTabBarClass 783 { 784 GtkWidgetClass parentClass; 785 } 786 787 struct AdwTabPage; 788 789 struct AdwTabPageClass 790 { 791 GObjectClass parentClass; 792 } 793 794 struct AdwTabView; 795 796 struct AdwTabViewClass 797 { 798 GtkWidgetClass parentClass; 799 } 800 801 struct AdwTimedAnimation; 802 803 struct AdwTimedAnimationClass; 804 805 struct AdwToast; 806 807 struct AdwToastClass 808 { 809 GObjectClass parentClass; 810 } 811 812 struct AdwToastOverlay; 813 814 struct AdwToastOverlayClass 815 { 816 GtkWidgetClass parentClass; 817 } 818 819 struct AdwViewStack; 820 821 struct AdwViewStackClass 822 { 823 GtkWidgetClass parentClass; 824 } 825 826 struct AdwViewStackPage; 827 828 struct AdwViewStackPageClass 829 { 830 GObjectClass parentClass; 831 } 832 833 struct AdwViewSwitcher; 834 835 struct AdwViewSwitcherBar; 836 837 struct AdwViewSwitcherBarClass 838 { 839 GtkWidgetClass parentClass; 840 } 841 842 struct AdwViewSwitcherClass 843 { 844 GtkWidgetClass parentClass; 845 } 846 847 struct AdwViewSwitcherTitle; 848 849 struct AdwViewSwitcherTitleClass 850 { 851 GtkWidgetClass parentClass; 852 } 853 854 struct AdwWindow 855 { 856 GtkWindow parentInstance; 857 } 858 859 struct AdwWindowClass 860 { 861 GtkWindowClass parentClass; 862 void*[4] padding; 863 } 864 865 struct AdwWindowTitle; 866 867 struct AdwWindowTitleClass 868 { 869 GtkWidgetClass parentClass; 870 } 871 872 /** 873 * Prototype for animation targets based on user callbacks. 874 * 875 * Params: 876 * value = The animation value 877 * userData = The user data provided when creating the target 878 * 879 * Since: 1.0 880 */ 881 public alias extern(C) void function(double value, void* userData) AdwAnimationTargetFunc; 882 883 /** 884 * Indicates an [class@Animation] with an infinite duration. 885 * 886 * This value is mostly used internally. 887 */ 888 enum DURATION_INFINITE = 4294967295; 889 alias ADW_DURATION_INFINITE = DURATION_INFINITE; 890 891 /** 892 * Adwaita major version component (e.g. 1 if the version is 1.2.3). 893 */ 894 enum MAJOR_VERSION = 1; 895 alias ADW_MAJOR_VERSION = MAJOR_VERSION; 896 897 /** 898 * Adwaita micro version component (e.g. 3 if the version is 1.2.3). 899 */ 900 enum MICRO_VERSION = 1; 901 alias ADW_MICRO_VERSION = MICRO_VERSION; 902 903 /** 904 * Adwaita minor version component (e.g. 2 if the version is 1.2.3). 905 */ 906 enum MINOR_VERSION = 1; 907 alias ADW_MINOR_VERSION = MINOR_VERSION; 908 909 /** 910 * Adwaita version, encoded as a string, useful for printing and 911 * concatenation. 912 */ 913 enum VERSION_S = "1.1.1"; 914 alias ADW_VERSION_S = VERSION_S;